﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DTO;
using System.Data;
namespace DAO
{
    public class DonHangDAO
    {
        //thêm đơn hàng
        public static int ThemDonHang(DonHangDTO dh)
        {
            try
            {
                string sql = "insert into donhang values('" + dh.NgayLap + "',N'" + dh.NgayGiao + "',N'" + dh.TenKH + "'," + dh.DiaChi + ",'" + dh.DienThoai + "','" + dh.Email + "'," + dh.TinhTrang + "," + dh.TrangThai + "," + dh.TongTien + "," + dh.MaCTVC + "," + dh.MaHTG + "," + dh.MaKH + ")";
                return Dataprovider.ExcuteNonQuery(sql);
            }
            catch
            {
                return 0;
            }
        }
        //cập nhật tình trạng đơn hàng
        public static int CapNhatTinhTrangDonHang(DonHangDTO dh)
        {
            try
            {
                string sql = "update donhang set tinhtrang = "+dh.TinhTrang+" where madh = "+dh.MaDH;
                return Dataprovider.ExcuteNonQuery(sql);
            }
            catch
            {
                return 0;
            }
        }
        //load đơn hàng
        public static DataTable LoadDonHang(string madh)
        {
            try
            {
                string sql = "select madh, UserName, NgayLap, NgayGiao, d.TenKH, d.DiaChi, d.DienThoai, d.Email, TongTien, d.TinhTrang, TrangThai, TenHTG, TenCTVC from DonHang d, KhachHang k, aspnet_Users u, HinhThucGiao h, CongTyVanChuyen c where d.MaKH = k.MaKH and k.UserId = u.UserId and h.MaHTG = d.MaHTG and d.MaCTVC = c.MaCTVC and MaDH = " + madh;
                return Dataprovider.ExcuteQuery(sql);
            }
            catch
            {
                return null;
            }
        }
        //Load danh sách đơn hàng
        public static List<DonHangDTO> LoadDanhSachDonHang()
        {
            try
            {
                DataTable dt = new DataTable();
                string sql = "Select madh, tenkh, dienthoai, tongtien, ngaylap, ngaygiao From DonHang";
                dt = Dataprovider.ExcuteQuery(sql);
                List<DonHangDTO> ls = new List<DonHangDTO>();
                foreach (DataRow r in dt.Rows)
                {
                    DonHangDTO dh = new DonHangDTO();
                    dh.MaDH = int.Parse(r["madh"].ToString());
                    dh.TenKH = r["tenkh"].ToString();
                    dh.DienThoai = r["dienthoai"].ToString();
                    dh.TongTien = int.Parse(r["tongtien"].ToString());
                    dh.NgayLap = string.Format("{0:dd/MM/yyyy}", r["ngaylap"]);
                    dh.NgayGiao = r["ngaygiao"].ToString();
                    ls.Add(dh);
                }
                return ls;
            }
            catch
            {
                return null;
            }
        }
        //Load danh sách đơn hàng theo mã đơn hàng
        public static List<DonHangDTO> LoadDanhSachDonHangTheoMa(string madh)
        {
            try
            {
                DataTable dt = new DataTable();
                string sql = "Select madh, tenkh, dienthoai, tongtien, ngaylap, ngaygiao From DonHang where madh="+madh;
                dt = Dataprovider.ExcuteQuery(sql);
                List<DonHangDTO> ls = new List<DonHangDTO>();
                foreach (DataRow r in dt.Rows)
                {
                    DonHangDTO dh = new DonHangDTO();
                    dh.MaDH = int.Parse(r["madh"].ToString());
                    dh.TenKH = r["tenkh"].ToString();
                    dh.DienThoai = r["dienthoai"].ToString();
                    dh.TongTien = int.Parse(r["tongtien"].ToString());
                    dh.NgayLap = r["ngaylap"].ToString();
                    dh.NgayGiao = r["ngaygiao"].ToString();
                    ls.Add(dh);
                }
                return ls;
            }
            catch
            {
                return null;
            }
        }
        //Load danh sách đơn hàng theo ngày lập
        public static List<DonHangDTO> LoadDanhSachDonHangTheoNgay(string ngaylap)
        {
            try
            {
                DataTable dt = new DataTable();
                string sql = "Select madh, tenkh, dienthoai, tongtien, ngaylap, ngaygiao From DonHang where CONVERT(date,ngaylap,103) = CONVERT(date,'"+ngaylap+"',103)";
                dt = Dataprovider.ExcuteQuery(sql);
                List<DonHangDTO> ls = new List<DonHangDTO>();
                foreach (DataRow r in dt.Rows)
                {
                    DonHangDTO dh = new DonHangDTO();
                    dh.MaDH = int.Parse(r["madh"].ToString());
                    dh.TenKH = r["tenkh"].ToString();
                    dh.DienThoai = r["dienthoai"].ToString();
                    dh.TongTien = int.Parse(r["tongtien"].ToString());
                    dh.NgayLap = r["ngaylap"].ToString();
                    dh.NgayGiao = r["ngaygiao"].ToString();
                    ls.Add(dh);
                }
                return ls;
            }
            catch
            {
                return null;
            }
        }
    }
}
